package com.example.tianqi.activity;

import android.content.Intent;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.GridView;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.AppCompatEditText;
import androidx.appcompat.widget.AppCompatImageView;

import com.example.tianqi.R;

import java.util.Objects;
import java.util.Vector;

public class CityAddActivity extends AppCompatActivity {

    private AppCompatImageView backImageView;//返回按钮
    private AppCompatEditText searchEditText;//输入文本框
    private AppCompatImageView searchImageView;//搜索按钮
    private GridView cityGridView;//热门城市

    private ArrayAdapter<String> cityAdapter;
    private String[] cityArrays = {
            "A", "阿城", "阿尔山", "阿克苏", "阿勒泰", "阿图什", "安达", "安国", "安康", "安陆", "安宁", "安庆", "安丘", "安顺", "安阳", "鞍山", "澳门",
            "B", "巴中", "霸州", "白城", "白山", "白银", "百色", "蚌埠", "包头", "宝鸡", "保定", "保山", "北安", "北海", "北京", "北流", "北宁", "北票", "本溪", "毕节", "滨州", "泊头", "亳州", "博乐",
            "C", "沧州", "岑溪", "昌吉", "昌邑", "长春", "长葛", "长乐", "长沙", "长治", "常德", "常宁", "常熟", "常州", "巢湖", "朝阳", "潮州", "郴州", "成都", "承德", "赤壁", "赤峰", "赤水", "崇州", "滁州", "楚雄", "慈溪", "从化",
            "D", "达川", "大安", "大丰", "大理", "大连", "大庆", "大石桥", "大同", "大冶", "丹东", "丹江口", "丹阳", "儋州", "当阳", "德惠", "德令哈", "德兴", "德阳", "德州", "灯塔", "登封", "邓州", "定州", "东方", "东港", "东胜", "东台", "东莞", "东兴", "东阳", "东营", "都江堰", "都匀", "敦化", "敦煌",
            "E", "峨眉山", "额尔古纳", "鄂州", "恩平", "恩施", "二连浩特", "鄂尔多斯",
            "F", "防城港", "肥城", "汾阳", "丰城", "丰南", "丰镇", "凤城", "奉化", "佛山", "福安", "福鼎", "福清", "福泉", "福州", "抚顺", "阜康", "阜新", "阜阳", "富锦", "富阳",
            "G", "盖州", "赣州", "高安", "高啤店", "高密", "高平", "高要", "高邮", "高州", "藁城", "格尔木", "个旧", "根河", "公主岭", "巩义", "古交", "广安", "广汉", "广水", "广元", "广州", "贵池", "贵港", "贵溪", "贵阳", "桂林", "桂平",
            "H", "哈尔滨", "哈密", "海城", "海口", "海拉尔", "海林", "海伦", "海门", "海宁", "海阳", "邯郸", "韩城", "汉川", "汉中", "杭州", "合川", "合肥", "合山", "合作", "和龙", "和田", "河池", "河间", "河津", "河源", "菏泽", "贺州", "鹤壁", "鹤岗", "鹤山", "黑河", "衡水", "衡阳", "洪湖", "洪江", "侯马", "呼和浩特", "湖州", "葫芦岛", "虎林", "华阴", "化州", "怀化", "淮安", "淮北", "淮南", "淮阴", "黄冈", "黄骅", "黄山", "黄石", "珲春", "辉县", "惠州", "霍林格勒", "霍州",
            "J", "鸡西", "吉安", "吉林", "吉首", "即墨", "集安", "集宁", "济南", "济宁", "济源", "冀州", "佳木斯", "嘉兴", "嘉峪关", "简阳", "建德", "建瓯", "建阳", "江都", "江津", "江门", "江山", "江阴", "江油", "姜堰", "胶南", "胶州", "焦作", "蛟河", "揭阳", "介休", "界首", "金昌", "金华", "金坛", "津市", "锦州", "晋城", "晋江", "晋州", "荆门", "荆州", "井冈山", "景德镇", "景洪", "靖江", "九江", "九台", "酒泉", "句容",
            "K", "喀什", "开封", "开平", "开原", "开远", "凯里", "克拉玛依", "库尔勒", "奎屯", "昆明", "昆山",
            "L", "拉萨", "莱芜", "莱西", "莱阳", "莱州", "兰溪", "兰州", "廊坊", "阆中", "老河口", "乐昌", "乐陵", "乐平", "乐清", "乐山", "雷州", "耒阳", "冷水江", "离石", "醴陵", "丽水", "利川", "溧阳", "连云港", "连州", "涟源", "廉江", "辽阳", "辽源", "聊城", "林州", "临安", "临川", "临汾", "临海", "临河", "临江", "临清", "临夏", "临湘", "临沂", "灵宝", "灵武", "凌海", "凌源", "浏阳", "柳州", "六安", "六盘水", "龙海", "龙井", "龙口", "龙泉", "龙岩", "娄底", "泸州", "陆丰", "鹿泉", "潞城", "潞西", "罗定", "洛阳", "漯河",
            "M", "麻城", "马鞍山", "满洲里", "茂名", "梅河口", "梅州", "孟州", "米泉", "汨罗", "密山", "绵阳", "绵竹", "明光", "牡丹江", "穆棱",
            "N", "内江", "南安", "南昌", "南充", "南川", "南宫", "南京", "南康", "南宁", "南平", "南通", "南雄", "南阳", "讷河", "宁安", "宁波", "宁德", "宁国",
            "P", "攀枝花", "盘锦", "磐石", "彭州", "蓬莱", "邳州", "平顶山", "平度", "平凉", "凭祥", "萍乡", "莆田", "濮阳", "普兰店", "普宁",
            "Q", "七台河", "栖霞", "齐齐哈尔", "启东", "迁安", "潜江", "钦州", "秦皇岛", "沁阳", "青岛", "青铜峡", "青州", "清远", "清镇", "庆阳", "邛崃", "琼海", "琼山", "曲阜", "曲靖", "衢州", "泉州",
            "R", "仁怀", "任丘", "日喀则", "日照", "荣成", "如皋", "汝州", "乳山", "瑞安", "瑞昌", "瑞金", "瑞丽",
            "S", "三河", "三门峡", "三明", "三亚", "沙河", "汕头", "汕尾", "商丘", "商州", "上海", "上饶", "上虞", "尚志", "韶关", "韶山", "邵武", "邵阳", "绍兴", "深圳", "深州", "沈阳", "嵊州", "十堰", "什邡", "石河子", "石家庄", "石狮", "石首", "石嘴山", "寿光", "舒兰", "双城", "双辽", "双鸭山", "朔州", "思茅", "四会", "四平", "松原", "松滋", "苏州", "宿迁", "宿州", "绥芬河", "绥化", "随州", "遂宁",
            "T", "塔城", "台山", "台州", "太仓", "太原", "泰安", "泰兴", "泰州", "唐山", "洮南", "滕州", "天长", "天津", "天门", "天水", "铁法", "铁力", "铁岭", "通化", "通辽", "通什", "通州", "同江", "桐城", "桐乡", "铜川", "铜陵", "铜仁", "图们", "吐鲁番",
            "W", "瓦房店", "畹町", "万宁", "万源", "威海", "潍坊", "卫辉", "渭南", "温岭", "温州", "文昌", "文登", "文水", "乌海", "乌兰浩特", "乌鲁木齐", "乌苏", "无锡", "吴川", "吴江", "吴县", "吴忠", "芜湖", "梧州", "五常", "五大连池", "武安", "武冈", "武汉", "武进", "武威", "武穴", "武夷山", "舞钢",
            "X", "西安", "西昌", "西峰", "西宁", "锡林浩特", "锡山", "厦门", "仙桃", "咸宁", "咸阳", "湘潭", "湘乡", "襄樊", "项城", "萧山", "孝感", "孝义", "忻州", "辛集", "新乐", "新密", "新民", "新泰", "新乡", "新沂", "新余", "新郑", "信阳", "信宜", "兴城", "兴化", "兴宁", "兴平", "兴义", "邢台", "徐州", "许昌", "宣威", "宣州", "香港",
            "Y", "牙克石", "雅安", "烟台", "延安", "延吉", "盐城", "兖州", "偃师", "扬中", "扬州", "阳春", "阳江", "阳泉", "伊春", "伊宁", "仪征", "宜宾", "宜昌", "宜城", "宜春", "宜都", "宜兴", "宜州", "义马", "义乌", "益阳", "银川", "应城", "英德", "鹰潭", "荥阳", "营口", "永安", "永城", "永川", "永济", "永康", "永州", "余杭", "余姚", "榆次", "榆林", "榆树", "禹城", "禹州", "玉林", "玉门", "玉溪", "沅江", "原平", "岳阳", "云浮", "运城",
            "Z", "枣阳", "枣庄", "增城", "扎兰屯", "湛江", "张家港", "张家界", "张家口", "张掖", "章丘", "漳平", "漳州", "樟树", "招远", "昭通", "肇东", "肇庆", "镇江", "郑州", "枝江", "中山", "重庆", "舟山", "周口", "株洲", "珠海", "诸城", "诸暨", "驻马店", "庄河", "涿州", "资兴", "资阳", "淄博", "自贡", "邹城", "遵化", "遵义"

    };

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_city_add);

        backImageView = findViewById(R.id.backImageView);
        searchEditText = findViewById(R.id.searchEditText);
        searchImageView = findViewById(R.id.searchImageView);
        cityGridView = findViewById(R.id.cityGridView);

//在GridView显示cityArrays中城市信息
        cityAdapter = new ArrayAdapter<>(this, R.layout.item_city_add, cityArrays);
        cityGridView.setAdapter(cityAdapter);

        backImageView.setOnClickListener(view -> finish());

        //获取搜索框里面城市信息的位置
        searchImageView.setOnClickListener(view -> {
            Vector<String> vector = new Vector<>();
            String keyword = Objects.requireNonNull(searchEditText.getText()).toString();
            for (String city : cityArrays) {
                if (city.contains(keyword)) {
                    vector.add(city);
                }
            }

            cityAdapter = new ArrayAdapter<>(this, R.layout.item_city_add, vector);
            cityGridView.setAdapter(cityAdapter);
            cityGridView.setOnItemClickListener(  (parent, view1, position, id) -> {
                Intent intent = new Intent();
                intent.putExtra("city", vector.get(position));
                setResult(RESULT_OK, intent);
                finish();
            });
        });

        cityGridView.setOnItemClickListener((parent, view, position, id) -> {
            Intent intent = new Intent();
            intent.putExtra("city", cityArrays[position]);
            setResult(RESULT_OK, intent);
            finish();
        });

    }

}
